/**
 * ajax 服务路由集合
 */
const router = require('koa-router')({
  prefix: '/weapp'
})
const controllers = require('../controllers')

// 从 sdk 中取出中间件
// 这里展示如何使用 Koa 中间件完成登录态的颁发与验证
const {
  auth: {
    authorizationMiddleware,
    validationMiddleware
  }
} = require('../qcloud')

// --- 登录与授权 Demo --- //
// 登录接口
router.get('/login', authorizationMiddleware, controllers.login)
// 用户信息接口（可以用来验证登录态）
router.get('/user', validationMiddleware, controllers.user)

// --- 图片上传 Demo --- //
// 图片上传接口，小程序端可以直接将 url 填入 wx.uploadFile 中
router.post('/upload', controllers.upload)

// --- 信道服务接口 Demo --- //
// GET  用来响应请求信道地址的
router.get('/tunnel', controllers.tunnel.get)
// POST 用来处理信道传递过来的消息
router.post('/tunnel', controllers.tunnel.post)

// --- 客服消息接口 Demo --- //
// GET  用来响应小程序后台配置时发送的验证请求
router.get('/message', controllers.message.get)
// POST 用来处理微信转发过来的客服消息
router.post('/message', controllers.message.post)
// 获取音乐列表
router.get('/musicList', controllers.musicList)
// 获取视频列表
router.get('/videoList', controllers.videoList)
// 添加歌曲
router.post('/addSong', controllers.addSong)
// 添加视频
router.post('/addVideo', controllers.addVideo)
// 统计音乐
router.get('/counter', controllers.counter)
// 配置
router.get('/config', controllers.config)

// 图片上传
const multer = require('koa-multer'); //加载koa-multer模块
//文件上传
//配置
var storage = multer.diskStorage({
  //文件保存路径
  destination: function (req, file, cb) {
    cb(null, '../static/song/images')
  },
  //修改文件名称
  filename: function (req, file, cb) {
    var fileFormat = (file.originalname).split(".");
    cb(null, Date.now() + "." + fileFormat[fileFormat.length - 1]);
  }
})
//加载配置
var upload = multer({
  storage: storage
});
//路由
router.post('/imgUpload', upload.single('file'), async (ctx, next) => {
  ctx.body = {
    filename: `https://wx.uyf69g.cn/static/song/images/${ctx.req.file.filename}` //返回文件名
  }
})
module.exports = router
